package com.gxp.system.mapper;

import com.gxp.system.domain.ZknjRequest;

import java.util.List;

/**
 * 请求Mapper接口
 * 
 * @author zh
 * @date 2024-08-06
 */
public interface ZknjRequestMapper 
{
    /**
     * 查询请求
     * 
     * @param reqId 请求主键
     * @return 请求
     */
    public ZknjRequest selectZknjRequestByReqId(Long reqId);

    /**
     * 查询请求列表
     * 
     * @param zknjRequest 请求
     * @return 请求集合
     */
    public List<ZknjRequest> selectZknjRequestList(ZknjRequest zknjRequest);

    /**
     * 新增请求
     * 
     * @param zknjRequest 请求
     * @return 结果
     */
    public int insertZknjRequest(ZknjRequest zknjRequest);

    /**
     * 修改请求
     * 
     * @param zknjRequest 请求
     * @return 结果
     */
    public int updateZknjRequest(ZknjRequest zknjRequest);

    /**
     * 删除请求
     * 
     * @param reqId 请求主键
     * @return 结果
     */
    public int deleteZknjRequestByReqId(Long reqId);

    /**
     * 批量删除请求
     * 
     * @param reqIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZknjRequestByReqIds(String[] reqIds);

    /**
     * 从历史数据表中查询数据
     * @param zknjRequest
     * @return
     */
    List<ZknjRequest> selectZknjRequestListForHistory(ZknjRequest zknjRequest);

    /**
     * 通过服务id查询reqId
     */
    ZknjRequest selectOneByInfId(Long infId);

    /**
     * 通过expcode查询request
     * @param expcode
     * @return
     */
    ZknjRequest selectOneByExpcode(String expcode);

    /**
     * 检查项目下的服务申请
     */
    ZknjRequest checkHaveRequest(Long proId);

    /**
     * 检查项目历史下的服务申请
     */
    ZknjRequest checkHaveRequestHistory(Long proId);

    /**
     * 查询待审核的请求列表
     * @param zknjRequest
     * @return
     */
    List<ZknjRequest> selectZknjRequestListForVerify(ZknjRequest zknjRequest);

    /**
     * 查询请求ID列表（分页）
     * @param zknjRequest
     * @return
     */
    List<Long> selectZknjRequestIdList(ZknjRequest zknjRequest);

    /**
     * 批量查询请求列表
     * @param ids
     * @return
     */
    List<ZknjRequest> selectZknjRequestListByIds(List<Long> ids);
}
